# 内置函数
# import builtins
from functools import reduce

# 查看所有的内置函数
# print(dir(builtins))

list1 = [1, 2, 3, 4, 5, 6]


# 1、map()：映射函数，将可迭代对象中每一个元素分别执行函数
def func_1(item):
    return item * 3


res = map(func_1, list1)
print(res, list(res))


# 2、reduce()：不是内置函数，需要导入functools。
# 先把可迭代对象中前面两个元素取出，依照函数执行得出一个新值，并把新值与下一个元素作为函数参数进行执行
def func_2(a, b):
    return a + b


res = reduce(func_2, list1)
print(res)


# 3、filter()：用于过滤掉不符合条件的元素
def func_3(item):
    return item % 2 == 1


res = filter(func_3, list1)
print(res, list(res))
